home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
ciarnv85.arc
/
H4.4TH
< prev
next >
Wrap
Text File
|
1986-04-08
|
2KB
|
66 lines
HEX
VARIABLE COUNTER
VARIABLE EPSILON
VARIABLE LOWF VARIABLE HIF
: TONE 0 COUNTER !
( THIS ROUTINE MAY NEED SOME WORK )
BEGIN RGT
DUP LOWF @ < IF
DUP 0= IF DROP 1 COUNTER +! RGT THEN
DUP LOWF ! THEN
DUP DUP HIF @ > IF HIF ! LOWF @ ELSE DROP HIF @ THEN
HIF @ LOWF @ - EPSILON @ <
COUNTER @ 64 < AND WHILE
1 COUNTER +! DROP DROP REPEAT
SWAP DUP LOWF ! HIF ! COUNTER @ ;
CTAG
: PTONE BEGIN TONE ." ( " . . ." ) " 0 UNTIL ;
VARIABLE ERRCNT
VARIABLE XNUM
VARIABLE RNUM
DI
: RANDC 47 * 17 + 255 AND ; ( RANDOM # 0 TO 255 )
HEX
: SEND XNUM C@ RANDC DUP XNUM C! DA! ;
: RECEV DA@ DUP RNUM C@ RANDC = IF
ELSE 1 ERRCNT +! THEN RNUM C! ;
: SEED 0 RNUM ! BEGIN ?KEY
CT@ DUP XR AND IF SEND THEN
BEGIN RECEV RNUM @ UNTIL UNTIL ;
: FTEST 400 0 DO ?KEY CT@ DUP XR AND IF SEND THEN
RR AND IF RECEV THEN LOOP ;
: FACT BEGIN ?KEY SEED FTEST ERRCNT @ . AGAIN ;
: PINIT TONE DROP DROP ;
: CYCLE PINIT TONE TONE OVER EPSILON @ < IF ELSE 2SWAP THEN ;
( ONFREQ C OFFREQ C )
VARIABLE FLAG
CTAG
DI
CREATE BOUNDS 3 C, 7 C, 15 C, 18 C, 25 C, 30 C, 90 C,
CREATE CODES 63 C, 79 C, 66 C, 63 C, 98 C, 63 C, 82 C,
: PROGM ( PROGRESS MON ) 1 FLAG ! CYCLE
ROT + ( SUM OF COUNTS )
7 0 DO DUP BOUNDS I + C@
< IF CODES I + C@ EMIT CR 0 FLAG ! LEAVE THEN
LOOP DROP
FLAG @ IF 2DUP EPSILON @ <
SWAP EPSILON @ < AND IF DROP DROP
ELSE - ABS EPSILON @ < IF 68 EMIT CR ELSE 86 EMIT CR THEN
THEN THEN ;
HEX
( HARDWARE DEBUG COMMANDS )
: STT BEGIN CT@ . ?KEY AGAIN ;
: CTT BEGIN DUP CT! ?KEY AGAIN ;
: DAR BEGIN DA@ . ?KEY AGAIN ;
: DAW BEGIN DUP DA! ?KEY AGAIN ;
: XINIT 0 CT! 0 CT!
BEGIN 40 CT! DOVER DOVER CT! CT! CT! CT! ?KEY AGAIN ;
CTAG
==> B:CALC.4TH